/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package sisgraf.controler;
import sisgraf.dao.VendedorDaoImp;
import sisgraf.model.Vendedor;
import java.util.List;
import javax.swing.table.TableModel;
import javax.swing.JTable;
import javax.swing.SwingConstants;
import javax.swing.table.DefaultTableCellRenderer;
/**
 *
 * @author Jordan de Carvalho Guerra
 */
public class VendedorControler extends Controler {
    private VendedorDaoImp daoLock = new VendedorDaoImp();
    public TableModel getListarVendedor(String par) {
        List<Vendedor> lista = null;
        if (par != null)
            lista = new VendedorDaoImp().list(par);
        else
            lista = new VendedorDaoImp().list("v.id = 0");
        String[] cabecalho = new String[]  {"Cod","Matricula","Nome",
            "Ativo","Logradouro","Num.","Comp.","Bairro","CEP",
            "Cidade","UF","Email","Tel.Fix.","Tel.Cel.","Com.%","Dt.Nasc."};
        TableModel modelo = new VendedorTabela(lista, cabecalho);
        return modelo;
    }
    public void ajustarTabela(JTable tabela){
        DefaultTableCellRenderer e = new DefaultTableCellRenderer();
        DefaultTableCellRenderer c = new DefaultTableCellRenderer();
        DefaultTableCellRenderer d = new DefaultTableCellRenderer();
        e.setHorizontalAlignment(SwingConstants.LEFT);
        c.setHorizontalAlignment(SwingConstants.CENTER);
        d.setHorizontalAlignment(SwingConstants.RIGHT);
        int[] tamCol = new int[] {8,15,50,7,60,10,15,30,14,30,7,50,20,20,10,18};
        DefaultTableCellRenderer[] aliCol = new DefaultTableCellRenderer[]
            {d,e,e,e,e,d,e,e,e,e,e,e,e,e,d,e};
        super.ajustarTabela(tabela, tamCol, aliCol);
    }
    public Vendedor prepararAlterarVendedor(int id){
        return daoLock.getLockVendedor(id);
    }
    public boolean excluirVendedor(Vendedor material) {
        VendedorDaoImp dao = new VendedorDaoImp();
        return dao.remove(material);
    }
    public boolean adicionarVendedor(Vendedor material){
        VendedorDaoImp dao = new VendedorDaoImp();
        return dao.save(material);
    }

    public boolean alterarVendedor(Vendedor material){
        if (!daoLock.settLockVendedor(material)){
            return false;
        } else {
            return true;
        }
    }
    public boolean liberarVendedor(){
        if (!daoLock.unLockVendedor()){
            return false;
        } else {
            return true;
        }
    }
}
